package rs.ac.uns.ftn.informatika.mbs2.e11031.etaksi.servlet;

import java.io.IOException;

import javax.ejb.EJB;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import rs.ac.uns.ftn.informatika.mbs2.e11031.etaksi.dao.VoznjaDao;
import rs.ac.uns.ftn.informatika.mbs2.e11031.etaksi.entitet.Korisnik;
import rs.ac.uns.ftn.informatika.mbs2.e11031.etaksi.entitet.Putnik;
import rs.ac.uns.ftn.informatika.mbs2.e11031.etaksi.entitet.Tacka;
import rs.ac.uns.ftn.informatika.mbs2.e11031.etaksi.entitet.Voznja;

@SuppressWarnings("serial")
public class PrikazZapoceteVoznjeKontroler extends HttpServlet {

	@EJB
	private VoznjaDao cVoznjaDao;

	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {

		// true ili false
		String odgovor = req.getParameter("voznjaPrihvacena");
		// ako nije prihvacena voznja, uputi ka novom zahtevu za voznju
		if (odgovor != null && !Boolean.parseBoolean(odgovor)) {
			resp.sendRedirect(resp
					.encodeRedirectURL("./jsp/zahtevanjeVoznje.jsp"));
			return;
		}

		Voznja voznja;

		String voznjaId = req.getParameter("voznjaId");
		if (voznjaId != null) {
			getServletContext().getRequestDispatcher(
					"/jsp/prikazZapoceteVoznjeUgradna.jsp").forward(req, resp);
			return;
		}

		float sirina = Float.parseFloat(req.getParameter("geografskaSirina"));
		float duzina = Float.parseFloat(req.getParameter("geografskaDuzina"));

		Tacka ishodiste = new Tacka();
		ishodiste.setAdresa(req.getParameter("ishodisnaAdresa"));
		ishodiste.setY(sirina);
		ishodiste.setX(duzina);

		byte brojOsoba = Byte.parseByte(req.getParameter("brojOsoba"));
		float zapreminaPrtljaga = Float.parseFloat(req
				.getParameter("zapreminaPrtljaga"));
		float masaPrtljaga = Float.parseFloat(req.getParameter("masaPrtljaga"));

		Korisnik korisnik = (Korisnik) req.getSession()
				.getAttribute("korisnik");
		Putnik putnik = (Putnik) korisnik;

		// kreiranje objekta i setovanje polja
		voznja = new Voznja();

		voznja.setIshodiste(ishodiste);
		voznja.setBrojOsoba(brojOsoba);
		voznja.setZapreminaPrtljaga(zapreminaPrtljaga);
		voznja.setMasaPrtljaga(masaPrtljaga);
		voznja.setPutnik(putnik);

		// sacuvaj kao nezapocetu voznju (jos nije prihvacena)
		cVoznjaDao.sacuvaj(voznja);
		req.getSession().setAttribute("voznja", voznja);
		getServletContext().getRequestDispatcher(
				"/jsp/prikazZapoceteVoznje.jsp").forward(req, resp);
	}

	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		doGet(req, resp);
	}

}
